package com.ruoyi.travel.mapper;

import java.util.List;
import com.ruoyi.travel.domain.TravelProduct;

/**
 * 旅游产品Mapper接口
 * 
 * @author ruoyi
 */
public interface TravelProductMapper
{
    /**
     * 查询旅游产品
     * 
     * @param productId 旅游产品主键
     * @return 旅游产品
     */
    public TravelProduct selectTravelProductById(Long productId);

    /**
     * 查询旅游产品列表
     * 
     * @param travelProduct 旅游产品
     * @return 旅游产品集合
     */
    public List<TravelProduct> selectTravelProductList(TravelProduct travelProduct);

    /**
     * 新增旅游产品
     * 
     * @param travelProduct 旅游产品
     * @return 结果
     */
    public int insertTravelProduct(TravelProduct travelProduct);

    /**
     * 修改旅游产品
     * 
     * @param travelProduct 旅游产品
     * @return 结果
     */
    public int updateTravelProduct(TravelProduct travelProduct);

    /**
     * 删除旅游产品
     * 
     * @param productId 旅游产品主键
     * @return 结果
     */
    public int deleteTravelProductById(Long productId);

    /**
     * 批量删除旅游产品
     * 
     * @param productIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTravelProductByIds(Long[] productIds);

    /**
     * 搜索旅游产品（按目的地、品类、产品名称）
     * 
     * @param travelProduct 搜索条件
     * @return 旅游产品集合
     */
    public List<TravelProduct> searchTravelProducts(TravelProduct travelProduct);

    /**
     * 查询热门产品（前5条，按id排序）
     * 
     * @return 旅游产品集合
     */
    public List<TravelProduct> selectHotProducts();
}

